<?php

class Application_Model_OfertasPost extends Sgit_Model
{
    protected $_name = 'gestion_oferta';
    protected $_primary = 'id';



    public function getPost($id)
    {
        return $this->getPosts('',array(), $id);
    }



    public function getPosts($id_oferta, $values = array(), $id = null)
    {


        $select = $this->getAdapter()->select();
        $select->from(array($this->_name));


        if (is_numeric($id))
        {
            $select->where('gestion_oferta.id= ?', $id);
        } else
        {
            $select->where('id_oferta= ?', $id_oferta);
            $select->where('respuesta_a IS NULL');
            $select->order('fecha desc');
            
            if(!$this->respuestas){
                $this->respuestas=$this->getRespuestasAll($id_oferta);
            }
        }
        
        

        $rows = $this->getAdapter()->fetchAll($select);
        $rows = $this->_prepara($rows);

        return $rows;

    }
    
    
    function getRespuestasAll($id_oferta)
    {
       
        $select = $this->getAdapter()->select();
        $select->from(array($this->_name));

        $select->where('id_oferta= ?', $id_oferta);
        $select->where('respuesta_a IS NOT NULL');
        $select->order('fecha asc');

        $rows = $this->getAdapter()->fetchAll($select);
        $rows = $this->_prepara($rows);

        $rows= $this->assocArray($rows,'respuesta_a');

        return $rows;

    }


    function getRespuestas($id)
    {
        
        $select = $this->getAdapter()->select();
        $select->from(array('gestion_oferta'));
        $select->where('respuesta_a =?', $id);
        $select->order(array("fecha asc"));

        $rows = $this->getAdapter()->fetchAll($select);
        $rows = $this->_prepara($rows);
        
        
        
        return $rows;

    }



    function _prepara($rows)
    {
       
        
        
        $auth = Zend_Auth::getInstance();
        $auth->getIdentity()->id;

        foreach ((array )$rows as $k => $v)
        {
            $rows[$k]['usuario'] =Sgit_Util_User::run($v['id_usuario'], 'nombre');
            $rows[$k]['fecha'] = Sgit_Filter_DateDbToLocalize::filter($v['fecha'], 'dd-MM-yyyy HH:mm');
            $rows[$k]['editor'] = ($auth->getIdentity()->id == $v['id_usuario']);
          
            $rows[$k]['necesita_respuesta_text'] =($v['necesita_respuesta'] && !$v['tiempo_respuesta'])? 'Necesita Respuesta' : '';
            $rows[$k]['tiempo_respuesta_text'] = $v['tiempo_respuesta'] ? 'Respuesta en: '.Sgit_Filter_SecToHours::filter($v['tiempo_respuesta']) : '';
            
            
            $rows[$k]['tiempo_empleado'] = $v['tiempo_empleado'] ? 'Tiempo empleado: '.$v['tiempo_empleado']."'" : '';
            
            
            
            $rows[$k]['respuestas'] =$this->respuestas[$v['id']];

        }

        return $rows;
    }





}
